home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Shape Smash / shape-smash.swf / scripts / Box2D / Collision / Shapes / _vy532.as < prev   
Encoding:
Text File  |  2010-05-14  |  5.6 KB  |  144 lines

  1. package Box2D.Collision.Shapes
  2. {
  3.    import Box2D.Collision._pv475;
  4.    import Box2D.Collision._sn334;
  5.    import Box2D.Common.Math._ni781;
  6.    import Box2D.Common.Math._oh327;
  7.    import Box2D.Common.Math.b2Vec2;
  8.    import Box2D.Common._kc225;
  9.    
  10.    public class _vy532 extends _hx306
  11.    {
  12.       public var m_radius:Number;
  13.       
  14.       public var m_localPosition:b2Vec2;
  15.       
  16.       public function _vy532(param1:_sw544)
  17.       {
  18.          var _loc2_:_uy491 = null;
  19.          m_localPosition = new b2Vec2();
  20.          super(param1);
  21.          _loc2_ = param1 as _uy491;
  22.          m_type = e_circleShape;
  23.          m_localPosition._kh737(_loc2_.localPosition);
  24.          m_radius = _loc2_.radius;
  25.       }
  26.       
  27.       override public function _se554(param1:_fh319) : void
  28.       {
  29.          param1.mass = m_density * _kc225.b2_pi * m_radius * m_radius;
  30.          param1.center._kh737(m_localPosition);
  31.          param1.I = param1.mass * (0.5 * m_radius * m_radius + (m_localPosition.x * m_localPosition.x + m_localPosition.y * m_localPosition.y));
  32.       }
  33.       
  34.       override public function _yf138(param1:_ni781, param2:Array, param3:b2Vec2, param4:_sn334, param5:Number) : Boolean
  35.       {
  36.          var _loc6_:_oh327 = null;
  37.          var _loc7_:Number = NaN;
  38.          var _loc8_:Number = NaN;
  39.          var _loc9_:Number = NaN;
  40.          var _loc10_:Number = NaN;
  41.          var _loc11_:Number = NaN;
  42.          var _loc12_:Number = NaN;
  43.          var _loc13_:Number = NaN;
  44.          var _loc14_:Number = NaN;
  45.          var _loc15_:Number = NaN;
  46.          var _loc16_:Number = NaN;
  47.          var _loc17_:Number = NaN;
  48.          _loc6_ = param1.R;
  49.          _loc7_ = param1.position.x + (_loc6_.col1.x * m_localPosition.x + _loc6_.col2.x * m_localPosition.y);
  50.          _loc8_ = param1.position.y + (_loc6_.col1.y * m_localPosition.x + _loc6_.col2.y * m_localPosition.y);
  51.          _loc9_ = param4.p1.x - _loc7_;
  52.          _loc10_ = param4.p1.y - _loc8_;
  53.          _loc11_ = _loc9_ * _loc9_ + _loc10_ * _loc10_ - m_radius * m_radius;
  54.          if(_loc11_ < 0)
  55.          {
  56.             return false;
  57.          }
  58.          _loc12_ = param4.p2.x - param4.p1.x;
  59.          _loc13_ = param4.p2.y - param4.p1.y;
  60.          _loc14_ = _loc9_ * _loc12_ + _loc10_ * _loc13_;
  61.          _loc15_ = _loc12_ * _loc12_ + _loc13_ * _loc13_;
  62.          _loc16_ = _loc14_ * _loc14_ - _loc15_ * _loc11_;
  63.          if(_loc16_ < 0 || _loc15_ < Number.MIN_VALUE)
  64.          {
  65.             return false;
  66.          }
  67.          _loc17_ = -(_loc14_ + Math.sqrt(_loc16_));
  68.          if(0 <= _loc17_ && _loc17_ <= param5 * _loc15_)
  69.          {
  70.             _loc17_ /= _loc15_;
  71.             param2[0] = _loc17_;
  72.             param3.x = _loc9_ + _loc17_ * _loc12_;
  73.             param3.y = _loc10_ + _loc17_ * _loc13_;
  74.             param3._qi627();
  75.             return true;
  76.          }
  77.          return false;
  78.       }
  79.       
  80.       override public function _mb454(param1:_pv475, param2:_ni781) : void
  81.       {
  82.          var _loc3_:_oh327 = null;
  83.          var _loc4_:Number = NaN;
  84.          var _loc5_:Number = NaN;
  85.          _loc3_ = param2.R;
  86.          _loc4_ = param2.position.x + (_loc3_.col1.x * m_localPosition.x + _loc3_.col2.x * m_localPosition.y);
  87.          _loc5_ = param2.position.y + (_loc3_.col1.y * m_localPosition.x + _loc3_.col2.y * m_localPosition.y);
  88.          param1.lowerBound._br741(_loc4_ - m_radius,_loc5_ - m_radius);
  89.          param1.upperBound._br741(_loc4_ + m_radius,_loc5_ + m_radius);
  90.       }
  91.       
  92.       override public function _oa256(param1:_ni781, param2:b2Vec2) : Boolean
  93.       {
  94.          var _loc3_:_oh327 = null;
  95.          var _loc4_:Number = NaN;
  96.          var _loc5_:Number = NaN;
  97.          _loc3_ = param1.R;
  98.          _loc4_ = param1.position.x + (_loc3_.col1.x * m_localPosition.x + _loc3_.col2.x * m_localPosition.y);
  99.          _loc5_ = param1.position.y + (_loc3_.col1.y * m_localPosition.x + _loc3_.col2.y * m_localPosition.y);
  100.          _loc4_ = param2.x - _loc4_;
  101.          _loc5_ = param2.y - _loc5_;
  102.          return _loc4_ * _loc4_ + _loc5_ * _loc5_ <= m_radius * m_radius;
  103.       }
  104.       
  105.       override public function _bs564(param1:_pv475, param2:_ni781, param3:_ni781) : void
  106.       {
  107.          var _loc4_:_oh327 = null;
  108.          var _loc5_:Number = NaN;
  109.          var _loc6_:Number = NaN;
  110.          var _loc7_:Number = NaN;
  111.          var _loc8_:Number = NaN;
  112.          _loc4_ = param2.R;
  113.          _loc5_ = param2.position.x + (_loc4_.col1.x * m_localPosition.x + _loc4_.col2.x * m_localPosition.y);
  114.          _loc6_ = param2.position.y + (_loc4_.col1.y * m_localPosition.x + _loc4_.col2.y * m_localPosition.y);
  115.          _loc4_ = param3.R;
  116.          _loc7_ = param3.position.x + (_loc4_.col1.x * m_localPosition.x + _loc4_.col2.x * m_localPosition.y);
  117.          _loc8_ = param3.position.y + (_loc4_.col1.y * m_localPosition.x + _loc4_.col2.y * m_localPosition.y);
  118.          param1.lowerBound._br741((_loc5_ < _loc7_ ? _loc5_ : _loc7_) - m_radius,(_loc6_ < _loc8_ ? _loc6_ : _loc8_) - m_radius);
  119.          param1.upperBound._br741((_loc5_ > _loc7_ ? _loc5_ : _loc7_) + m_radius,(_loc6_ > _loc8_ ? _loc6_ : _loc8_) + m_radius);
  120.       }
  121.       
  122.       override public function _nw364(param1:b2Vec2) : void
  123.       {
  124.          var _loc2_:Number = NaN;
  125.          var _loc3_:Number = NaN;
  126.          _loc2_ = m_localPosition.x - param1.x;
  127.          _loc3_ = m_localPosition.y - param1.y;
  128.          _loc2_ = Math.sqrt(_loc2_ * _loc2_ + _loc3_ * _loc3_);
  129.          m_sweepRadius = _loc2_ + m_radius - _kc225.b2_toiSlop;
  130.       }
  131.       
  132.       public function _iq304() : b2Vec2
  133.       {
  134.          return m_localPosition;
  135.       }
  136.       
  137.       public function _cd466() : Number
  138.       {
  139.          return m_radius;
  140.       }
  141.    }
  142. }
  143.  
  144.